{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# January 12, 2021\n", "# PHYS 232\n", "# Jake Bobowski\n", "\n", "# This is a Jupyter Notebook used to write and execute Python code.\n", "# A number sign at the start of a line is used to enter comments. \n", "# Commented lines are not part of the code and are not executed." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Some of the most basic commands are intutiive, like addition...\n", "3 + 5" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "15" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# and multiplication.\n", "3*5" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "16" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The notation used for powers is not obvious.\n", "2**4" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# If, for some reason, you want to suppress the output from a line of code, use a semicolon after the line.\n", "2**4;" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'sin' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# You might expect the command \"sin(pi/2)\" to result in an output of 1. However, instead, you'll get an error.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0msin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpi\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mNameError\u001b[0m: name 'sin' is not defined" ] } ], "source": [ "# You might expect the command \"sin(pi/2)\" to result in an output of 1. However, instead, you'll get an error.\n", "sin(pi/2)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# To do something like the above operation, we first need to import the so-called \"NumPy\" module. NumPy is very useful.\n", "# If you're doing any kind of math in Python, you'll almost certainly want to import this module.\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.141592653589793" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Now we can access pi using:\n", "np.pi" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# We can also work with trig functions:\n", "np.sin(np.pi/2)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# In this Notebook, I won't try to introduce too much. However, in Experiment #1 of PHYS 232 you will be asked\n", "# to produce a Histogram from a list of data. We will attempt to demonstrate enough that you will be able\n", "# to complete this task.\n", "\n", "# If you're interested in a broader set of Python tutorials that are useful for the kinds of data analysis tasks\n", "# that you might be asked to do as a physics undergraduate, visit:\n", "# https://people.ok.ubc.ca/jbobowsk/Python.html\n", "# These tutorials are presented as complete scripts written in Python." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# We need to load the data that we want to plot into an array. The histogram data is in a text file. \n", "# First, from the menu bar select File -> Open. The click on the \"Upload\" button. Navigate to the\n", "# desired file, select it and then complete the upload.\n", "\n", "# The file that will be used in this example is called \"hist data.txt\". It is a single column of\n", "# data and it can be downloaded from the course website:\n", "# https://people.ok.ubc.ca/jbobowsk/phys232.html" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# To read the date from the file into an array, we will again use a command from NumPy: \"np.loadtex()\":\n", "data = np.loadtxt(\"hist data.txt\")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.1560e-07, 1.4800e-07, 2.9930e-07, 1.5140e-07, 6.1300e-08,\n", " 2.8900e-08, 1.4450e-07, 5.7800e-08, 5.7800e-08, 1.4450e-07,\n", " 0.0000e+00, 2.3120e-07, 5.7800e-08, 0.0000e+00, 1.4450e-07,\n", " 1.4450e-07, 2.8900e-08, 2.7040e-07, 2.8900e-08, 2.8900e-08,\n", " 1.1560e-07, 1.1560e-07, 2.6010e-07, 1.1560e-07, 5.0500e-07,\n", " 1.5140e-07, 1.4450e-07, 2.3810e-07, 0.0000e+00, 1.8320e-07,\n", " 2.6650e-07, 1.6200e-08, 8.1000e-09, 3.6000e-07, 2.1380e-07,\n", " 7.5700e-08, 1.3010e-07, 2.6010e-07, 9.6500e-08, 2.9930e-07,\n", " 1.7810e-07, 1.8450e-07, 1.4450e-07, 0.0000e+00, 3.3800e-07,\n", " 1.2890e-07, 9.6500e-08, 9.6500e-08, 3.2770e-07, 1.9300e-07,\n", " 1.4450e-07, 2.5250e-07, 6.2180e-07, 4.9480e-07, 1.8490e-07,\n", " 1.2200e-07, 1.1560e-07, 1.2800e-08, 1.8490e-07, 1.6200e-08,\n", " 3.7000e-08, 5.7800e-08, 1.5140e-07, 3.6640e-07, 1.1437e-06,\n", " 0.0000e+00, 1.3520e-07, 9.2450e-07, 1.2200e-07, 1.8490e-07,\n", " 7.5700e-08, 1.9300e-07, 1.1560e-07, 3.6000e-07, 3.3290e-07,\n", " 1.4450e-07, 2.6010e-07, 1.2250e-07, 6.4000e-09, 3.8890e-07,\n", " 1.3010e-07, 1.3010e-07, 1.6200e-08, 1.1285e-06, 3.8800e-08,\n", " 3.6130e-07, 6.4000e-09, 2.5250e-07, 1.0000e-07, 5.0500e-07,\n", " 2.1380e-07, 5.7800e-08, 1.1560e-07, 1.4500e-08, 6.4000e-09,\n", " 1.6200e-08, 3.5300e-08, 1.2890e-07, 9.1400e-08, 3.7000e-08,\n", " 7.5700e-08, 2.8900e-08, 3.5300e-08, 1.2370e-07, 2.9930e-07,\n", " 2.4400e-07, 3.8890e-07, 9.1400e-08, 1.4450e-07, 9.6500e-08,\n", " 3.7000e-08, 1.2200e-07, 9.6500e-08, 1.4450e-07, 1.2200e-07,\n", " 2.1380e-07, 1.2370e-07, 1.4450e-07, 9.1400e-08, 1.8450e-07,\n", " 3.7000e-08, 5.7800e-08, 6.8900e-08, 7.2250e-07, 2.1380e-07,\n", " 4.0500e-08, 4.2760e-07, 3.7000e-08, 1.8490e-07, 1.8490e-07,\n", " 2.0880e-07, 3.6810e-07, 4.2250e-07, 2.7040e-07, 1.3060e-07,\n", " 0.0000e+00, 3.2260e-07, 3.0050e-07, 3.0050e-07, 7.3280e-07,\n", " 9.6500e-08, 5.4490e-07, 4.8250e-07, 6.7600e-08, 4.8250e-07,\n", " 2.4740e-07, 1.2800e-08, 1.3010e-07, 1.2370e-07, 8.1000e-09,\n", " 8.1000e-09, 5.7800e-08, 3.7000e-08, 5.7800e-08, 2.5250e-07,\n", " 9.4900e-08, 6.7600e-08, 5.7800e-08, 3.5300e-08, 1.6200e-08,\n", " 9.6500e-08, 3.6980e-07, 1.9300e-07, 3.5300e-08, 2.8900e-08,\n", " 3.6640e-07, 5.4370e-07, 1.3520e-07, 3.5300e-08, 3.5300e-08,\n", " 5.7800e-08, 6.4000e-09, 7.5700e-08, 9.6500e-08, 1.9010e-07,\n", " 3.3800e-07, 6.2500e-08, 7.0600e-08, 3.3290e-07, 5.9290e-07,\n", " 1.4450e-07, 2.1380e-07, 2.7680e-07, 1.9010e-07, 1.9130e-07,\n", " 4.2760e-07, 3.6810e-07, 6.7600e-08, 1.7810e-07, 1.7640e-07,\n", " 6.8900e-08, 2.3810e-07, 1.3520e-07, 1.2370e-07, 6.1300e-08,\n", " 1.1560e-07, 1.4450e-07, 5.7800e-08, 7.4000e-08, 7.4000e-08,\n", " 1.9300e-07, 3.7000e-08, 2.1380e-07, 6.2500e-08, 1.8280e-07,\n", " 2.8900e-08, 1.0000e-07, 6.4000e-09, 3.7000e-08, 1.4450e-07,\n", " 2.1380e-07, 5.3000e-07, 1.8490e-07, 1.8320e-07, 2.7680e-07,\n", " 3.6810e-07, 6.4000e-09, 6.7600e-08, 2.8900e-08, 3.5300e-08,\n", " 2.6820e-07, 1.1560e-07, 9.1400e-08, 2.0530e-07, 6.8900e-08,\n", " 3.2770e-07, 3.7000e-08, 7.5700e-08, 1.3010e-07, 1.5140e-07,\n", " 1.2800e-08, 2.8900e-07, 1.3010e-07, 3.7000e-08, 1.8320e-07,\n", " 2.4740e-07, 3.6810e-07, 6.7600e-08, 2.5250e-07, 7.4000e-08,\n", " 3.8890e-07, 2.5250e-07, 1.2890e-07, 1.0100e-06, 1.3010e-07,\n", " 1.2250e-07, 2.8900e-07, 1.4500e-08, 2.3810e-07, 9.6500e-08,\n", " 3.7000e-08, 1.4500e-08, 7.5700e-08, 4.9480e-07, 2.8900e-07,\n", " 1.2370e-07, 3.5300e-08, 6.2180e-07, 2.8900e-08, 9.6500e-08,\n", " 3.7000e-08, 2.6010e-07, 1.8490e-07, 4.2250e-07, 1.2500e-07,\n", " 1.1560e-07, 6.2500e-08, 9.6500e-08, 8.1000e-09, 1.2200e-07,\n", " 7.5700e-08, 2.8900e-07, 4.4500e-07, 1.9010e-07, 1.3010e-07,\n", " 1.4450e-07, 5.9290e-07, 1.8320e-07, 4.7560e-07, 7.5700e-08,\n", " 6.6050e-07, 1.7810e-07, 4.2250e-07, 2.5250e-07, 2.5250e-07,\n", " 1.4450e-07, 2.0880e-07, 2.4500e-07, 1.8490e-07, 6.1300e-08,\n", " 1.4500e-08, 3.2770e-07, 2.8900e-08, 1.2370e-07, 3.7000e-08,\n", " 1.7640e-07, 3.7000e-08, 6.7600e-08, 3.2770e-07, 1.5140e-07,\n", " 1.8490e-07, 2.4740e-07, 1.4450e-07, 3.5300e-08, 6.4000e-09,\n", " 3.0740e-07, 3.7000e-08, 8.1000e-09, 3.0050e-07, 2.8900e-08,\n", " 5.4490e-07])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# If we want to see all of the elements of the array, we can...\n", "data" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(311,)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The np.shape() command tells us that we have 311 elements in our 1-D array.\n", "np.shape(data)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.781e-07" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# We can choose to look at only the nth element...\n", "data[40]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.781e-07, 1.845e-07, 1.445e-07, 0.000e+00, 3.380e-07, 1.289e-07,\n", " 9.650e-08, 9.650e-08, 3.277e-07, 1.930e-07, 1.445e-07, 2.525e-07,\n", " 6.218e-07, 4.948e-07, 1.849e-07, 1.220e-07, 1.156e-07, 1.280e-08,\n", " 1.849e-07, 1.620e-08])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# or we can choose to view a range of elements...\n", "data[40:60]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.781e-07, 3.380e-07, 3.277e-07, 6.218e-07, 1.156e-07])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# or we can choose to view only every 4th element with an certain range.\n", "data[40:60:4]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# For plotting, we will make use of another module. This one is called \"Matplotlib\".\n", "# Matplotlib use plotting commands that are very similar (but not always identical) \n", "# to those used by MATLAB.\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([123., 101., 46., 19., 11., 5., 2., 0., 2., 2.]),\n", " array([0.00000e+00, 1.14370e-07, 2.28740e-07, 3.43110e-07, 4.57480e-07,\n", " 5.71850e-07, 6.86220e-07, 8.00590e-07, 9.14960e-07, 1.02933e-06,\n", " 1.14370e-06]),\n", " )" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Here is a histogram of the entries contained in the array called data.\n", "plt.hist(data)" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([105., 80., 39., 36., 20., 9., 8., 5., 3., 2., 0.,\n", " 0., 1., 1., 2.]),\n", " array([0.00000000e+00, 7.62466667e-08, 1.52493333e-07, 2.28740000e-07,\n", " 3.04986667e-07, 3.81233333e-07, 4.57480000e-07, 5.33726667e-07,\n", " 6.09973333e-07, 6.86220000e-07, 7.62466667e-07, 8.38713333e-07,\n", " 9.14960000e-07, 9.91206667e-07, 1.06745333e-06, 1.14370000e-06]),\n", " )" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# By default, plt.hist() has given us 10 bins. We could use an option to specify a different \n", "# number of bins. We'll we're at it, we can also use other options to format the histogram.\n", "# Note that 'k' is for black (because 'b' is for blue).\n", "nbins = 15\n", "plt.hist(data, nbins, color='lightskyblue', edgecolor='k')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Notice that, not only did we get a plot of the histogram, we also got three additional output.\n", "# The first is an array of the number of counts in each bin. The second is an array that specifies \n", "# the boundaries of the bins. That means, if there are N bins, there are N entries in the first array \n", "# and N+1 entries in the second array. The third output we won't use, but you can, if you like,\n", "# read about it in online documentation. It can be used/manipulated to customize the look of the histogram." ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Some times it might be useful to assign these outputs names so that they can be used later.\n", "# This can be done as follows.\n", "counts, edges, patches = plt.hist(data, nbins, color='lightskyblue', edgecolor='k')" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Counts: [105. 80. 39. 36. 20. 9. 8. 5. 3. 2. 0. 0. 1. 1.\n", " 2.]\n", "Edges: [0.00000000e+00 7.62466667e-08 1.52493333e-07 2.28740000e-07\n", " 3.04986667e-07 3.81233333e-07 4.57480000e-07 5.33726667e-07\n", " 6.09973333e-07 6.86220000e-07 7.62466667e-07 8.38713333e-07\n", " 9.14960000e-07 9.91206667e-07 1.06745333e-06 1.14370000e-06]\n" ] } ], "source": [ "# We can now look at the counts and bin edges. The \"print()\" command has been used to do some basic\n", "# formatting of the output. Also note that, without the explicit print() commands, the Jupyter\n", "# Notebook will only display the output of the last statement in a cell. \n", "print(\"Counts:\", counts)\n", "print(\"Edges:\", edges)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "15" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# If we wanted, we could use the Edges to calculate the position of the centre of the bins.\n", "# First note that the length of an array can be determined using \"len()\".\n", "len(counts)" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Centres: [3.81233333e-08 1.14370000e-07 1.90616667e-07 2.66863333e-07\n", " 3.43110000e-07 4.19356667e-07 4.95603333e-07 5.71850000e-07\n", " 6.48096667e-07 7.24343333e-07 8.00590000e-07 8.76836667e-07\n", " 9.53083333e-07 1.02933000e-06 1.10557667e-06]\n" ] } ], "source": [ "# Here's how to add half a binwidth to the left boundary of each bin.\n", "binwidth = edges[1] - edges[0]\n", "centres = edges[0:len(counts)] + binwidth/2\n", "print(\"Centres:\", centres)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Error: [10.24695077 8.94427191 6.244998 6. 4.47213595 3.\n", " 2.82842712 2.23606798 1.73205081 1.41421356 0. 0.\n", " 1. 1. 1.41421356]\n" ] } ], "source": [ "# Next, suppose that the data that we're plotting as a histgram came from a counting\n", "# experiment. In that case, as you will see later in PHYS 232, the uncertainty in\n", "# the number of counts in each bin is given by the square root of the number of \n", "# counts in the bin. We can use \"np.sqrt()\" to evaluate square roots of the elements\n", "# in an array\n", "err = np.sqrt(counts)\n", "print(\"Error:\", err)" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# We can make a scatter plot with error bars using Matplotlib's \"plt.errorbar()\" command.\n", "# I've used some options to formate the plot.\n", "# fmt = 'k.' indicates that we want a scatter plot with points that are black.\n", "# markersize = 12 specifies the size of the data points.\n", "# linewidth = 1.5 specfies with width of the lines used to draw the error bars.\n", "# capsize = 5 specifies the length of the horizontal parts of the error bars.\n", "plt.errorbar(centres, counts, err, fmt = 'k.', markersize = 12, linewidth = 1.5, capsize = 5);" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# If we follow the plt.hist() command by the plt.errorbar() command we will get a single graph displaying\n", "# both plots. I've also specified a markersize of zero for the scatterplot.\n", "plt.hist(data, nbins, color='lightskyblue', edgecolor='k')\n", "plt.errorbar(centres, counts, err, fmt = 'k.', markersize = 0, linewidth = 1.5, capsize = 5);" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Lastly, we can add x- and y-axis labels to out plot.\n", "plt.hist(data, nbins, color='lightskyblue', edgecolor='k')\n", "plt.errorbar(centres, counts, err, fmt = 'k.', markersize = 0, linewidth = 1.5, capsize = 5)\n", "plt.xlabel('bin centres')\n", "plt.ylabel('counts');" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Finally, if we want to save the plot to a separate file, we can use \"plt.savefig()\".\n", "# The savefig() command needs to be in the same cell that was used to generate the plot.\n", "\n", "# First, we regenerate the plot that was made in the previous cell...\n", "plt.hist(data, nbins, color='lightskyblue', edgecolor='k')\n", "plt.errorbar(centres, counts, err, fmt = 'k.', markersize = 0, linewidth = 1.5, capsize = 5)\n", "plt.xlabel('bin centres')\n", "plt.ylabel('counts')\n", "\n", "# Next, we save a pdf copy...\n", "plt.savefig('PHYS 232 Histogram Example.pdf')\n", "\n", "# ...or a jpg copy...\n", "plt.savefig('PHYS 232 Histogram Example.jpg')\n", "\n", "# ...or a png copy...\n", "plt.savefig('PHYS 232 Histogram Example.png')\n", "\n", "# ...or an eps copy.\n", "plt.savefig('PHYS 232 Histogram Example.eps')\n", "\n", "# You can find (and download) this figures by using the File->Open menu and searching through the list of files." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }